package com.fastloan.mgt.application.phoneapprove.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fastloan.mgt.application.base.model.ApplicationIPC;
import com.fastloan.safe.mgt.sys.model.CmuSysFile;
import com.kawins.base.baseabs.BaseModel;

import java.util.Date;
import java.util.List;
import javax.persistence.*;

@Table(name = "ZY_APPLICATION_PHONE_APPROVE")
public class ApplicationPhoneApprove extends BaseModel<String> {
    /**
     * 电核ID
     */
    @Id
    @Column(name = "PHONE_APPROVE_ID")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private String phoneApproveId;

    @Column(name = "APPLICATION_ID")
    private String applicationId;

    /**
     * 审核结果
     */
    @Column(name = "APPROVE_RESULT")
    private Integer approveResult;

    /**
     * 审核时间
     */
    @Column(name = "APPROVE_TIME")
    private Date approveTime;

    /**
     * 审核用户
     */
    @Column(name = "APPROVE_USER")
    private String approveUser;

    /**
     * 备注
     */
    @Column(name = "REMARK")
    private String remark;

    /**
     * IPC信息
     */
    @JsonIgnore
    @Column(name = "IPC_MODIFY_INFO")
    private String ipcModifyInfo;

    @Transient
    private List<ApplicationIPC> ipcModifyInfoTree;

    @Transient
    private List<CmuSysFile> files;

    @Transient
    private String applicationCode;

    @Transient
    private String approveUserName;

    public String getApproveUserName() {
        return approveUserName;
    }

    public void setApproveUserName(String approveUserName) {
        this.approveUserName = approveUserName;
    }

    public List<CmuSysFile> getFiles() {
        return files;
    }

    public void setFiles(List<CmuSysFile> files) {
        this.files = files;
    }

    public List<ApplicationIPC> getIpcModifyInfoTree() {
        return ipcModifyInfoTree;
    }

    public void setIpcModifyInfoTree(List<ApplicationIPC> ipcModifyInfoTree) {
        this.ipcModifyInfoTree = ipcModifyInfoTree;
    }

    public String getApplicationCode() {
        return applicationCode;
    }

    public void setApplicationCode(String applicationCode) {
        this.applicationCode = applicationCode;
    }

    public String getApplicationId() {
        return applicationId;
    }

    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }

    /**
     * 获取电核ID
     *
     * @return PHONE_APPROVE_ID - 电核ID
     */
    public String getPhoneApproveId() {
        return phoneApproveId;
    }

    /**
     * 设置电核ID
     *
     * @param phoneApproveId 电核ID
     */
    public void setPhoneApproveId(String phoneApproveId) {
        this.phoneApproveId = phoneApproveId;
    }

    /**
     * 获取审核结果
     *
     * @return APPROVE_RESULT - 审核结果
     */
    public Integer getApproveResult() {
        return approveResult;
    }

    /**
     * 设置审核结果
     *
     * @param approveResult 审核结果
     */
    public void setApproveResult(Integer approveResult) {
        this.approveResult = approveResult;
    }

    /**
     * 获取审核时间
     *
     * @return APPROVE_TIME - 审核时间
     */
    public Date getApproveTime() {
        return approveTime;
    }

    /**
     * 设置审核时间
     *
     * @param approveTime 审核时间
     */
    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    /**
     * 获取审核用户
     *
     * @return APPROVE_USER - 审核用户
     */
    public String getApproveUser() {
        return approveUser;
    }

    /**
     * 设置审核用户
     *
     * @param approveUser 审核用户
     */
    public void setApproveUser(String approveUser) {
        this.approveUser = approveUser;
    }

    /**
     * 获取备注
     *
     * @return REMARK - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取IPC信息
     *
     * @return IPC_MODIFY_INFO - IPC信息
     */
    public String getIpcModifyInfo() {
        return ipcModifyInfo;
    }

    /**
     * 设置IPC信息
     *
     * @param ipcModifyInfo IPC信息
     */
    public void setIpcModifyInfo(String ipcModifyInfo) {
        this.ipcModifyInfo = ipcModifyInfo;
    }
}